package com.yvon.service.demo.spring.beans.factory.config;

import com.yvon.service.demo.spring.beans.BeansException;
import com.yvon.service.demo.spring.beans.factory.BeanFactory;

/**
 * 自动装配bean工厂
 *
 * 想要拥有自动装配能力，并且想把这种能力暴露给外部应用的BeanFactory类需要实现此接口
 *
 * @author Yvon
 * @since 2022-12-08
 */
public interface AutowireCapableBeanFactory extends BeanFactory {

    Object applyBeanPostProcessorsBeforeInitialization(Object bean, String beanName) throws BeansException;


    Object applyBeanPostProcessorsAfterInitialization(Object bean, String beanName) throws BeansException;
}
